@@ -15,3 +15,7 @@ urlpatterns += [  | 
            ||
| 15 | 15 | 
                url(r'^uuid$', photo_views.uuid, name='uuid'),  | 
            
| 16 | 16 | 
                url(r'^photos/upload$', photo_views.upload_photo, name='upload_photo'),  | 
            
| 17 | 17 | 
                ]  | 
            
| 18 | 
                +  | 
            |
| 19 | 
                +urlpatterns += [  | 
            |
| 20 | 
                + url(r'^s/(?P<session>\w+)$', photo_views.session_detail_api, name='session_detail_api'),  | 
            |
| 21 | 
                +]  | 
            
                @@ -71,4 +71,14 @@ class PhotosInfo(CreateUpdateMixin):  | 
            ||
| 71 | 71 | 
                'photo': self.photo_id,  | 
            
| 72 | 72 | 
                }  | 
            
| 73 | 73 | 
                 | 
            
| 74 | 
                + def _detail(self):  | 
            |
| 75 | 
                +        return {
               | 
            |
| 76 | 
                + 'pk': self.pk,  | 
            |
| 77 | 
                + 'user': self.lensman_id,  | 
            |
| 78 | 
                + 'session': self.session_id,  | 
            |
| 79 | 
                + 'photo': self.photo_id,  | 
            |
| 80 | 
                + 'photo_url': self.p_photo_url,  | 
            |
| 81 | 
                + }  | 
            |
| 82 | 
                +  | 
            |
| 74 | 83 | 
                data = property(_data)  | 
            
| 84 | 
                + detail = property(_detail)  | 
            
                @@ -113,6 +113,17 @@ def upload_photo(request):  | 
            ||
| 113 | 113 | 
                })  | 
            
| 114 | 114 | 
                 | 
            
| 115 | 115 | 
                 | 
            
| 116 | 
                +def session_detail_api(request, session):  | 
            |
| 117 | 
                + photos = PhotosInfo.objects.filter(session_id=session)  | 
            |
| 118 | 
                +    return JsonResponse({
               | 
            |
| 119 | 
                + 'status': 200,  | 
            |
| 120 | 
                +        'data': {
               | 
            |
| 121 | 
                + 'count': photos.count(),  | 
            |
| 122 | 
                + 'photos': [p.detail for p in photos]  | 
            |
| 123 | 
                + }  | 
            |
| 124 | 
                + })  | 
            |
| 125 | 
                +  | 
            |
| 126 | 
                +  | 
            |
| 116 | 127 | 
                def session_detail(request, session):  | 
            
| 117 | 128 | 
                photos = PhotosInfo.objects.filter(session_id=session)  | 
            
| 118 | 129 | 
                     return render(request, 'photo/session_detail.html', {'photos': photos})
               |